react

您所在的位置:网站首页 react native文件上传 react

react

2023-07-07 03:51| 来源: 网络整理| 查看: 265

报错情景:

  版本:

"react": "16.13.1", "react-native": "0.63.2",

  fetch的其他请求都可以,但是上传文件报错。其实,查找文档可知,0.62.0版本以上都有这个问题。代码回滚到RN 0.61.5版本就不会有以上问题。

  报错内容: 请求没有到后台,报错 ‘Network request failed’

问题出现原因:

  Flipper Network构建initializeFlipper时出现的问题。

解决办法:

  (1)Flipper Network构建initializeFlipper时出现的问题。   

    找到/android/app/src/main/java/com/{your_project}/MainApplication.java

    将initializeFlipper(this, getReactNativeHost().getReactInstanceManager())注释

NetworkFlipperPlugin networkFlipperPlugin = new NetworkFlipperPlugin(); NetworkingModule.setCustomClientBuilder( new NetworkingModule.CustomClientBuilder() { @Override public void apply(OkHttpClient.Builder builder) { // builder.addNetworkInterceptor(new FlipperOkhttpInterceptor(networkFlipperPlugin)); } });

  或者找到android/app/src/debug/java/com/**/ReactNativeFlipper.java文件注释43行

  

38 NetworkFlipperPlugin networkFlipperPlugin = new NetworkFlipperPlugin(); 39 NetworkingModule.setCustomClientBuilder( 40 new NetworkingModule.CustomClientBuilder() { 41 @Override 42 public void apply(OkHttpClient.Builder builder) { 43 // builder.addNetworkInterceptor(new FlipperOkhttpInterceptor(networkFlipperPlugin)); 44 } 45 }); 46 client.addPlugin(networkFlipperPlugin);

  (2)Flipper 已经在0.39.0版本修复了问题的一部分,之所以说是一部分,是因为我升级到0.39.0+以后仍有问题,我测试到升级Flipper 0.51.2仍然报错,但是解决了部分人的问题,比如RN0.62.0版本。

    Flipper升级方法:

    转到android/gradle.properties并添加此行

FLIPPER_VERSION=0.52.1

    同时在android/app/build.gradle其中包含以下几行

dependencies { // .... debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") { exclude group:'com.facebook.fbjni' } debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") { exclude group:'com.facebook.flipper' } debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}") { exclude group:'com.facebook.flipper' } // ... }

  (3)如果有人在RN 0.62或更高版本中仍然遇到问题,解决方案是:必须提供uri,名称和要上载的媒体类型。

  

formData.append('media_incident', { uri: image.path, type: image.mime, name: 'filename.jpg', });

  8个小时解决了这个问题!!!

  如果解决了您的问题,麻烦点个赞被!

  Enjoy Coding,enjoy life!(原创)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3